home *** CD-ROM | disk | FTP | other *** search
/ The Business Master (3rd Edition) / The Business Master (3rd Edition).iso / files / utilstem / memman / hram.doc < prev    next >
Encoding:
Text File  |  1992-11-22  |  50.1 KB  |  1,417 lines

  1.  
  2.                                                                           1
  3.  
  4.  
  5.           HRAM
  6.           Version 1.3
  7.           User's Guide
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                                                           2
  62.  
  63.  
  64.           COPYRIGHT   
  65.  
  66.           This HRAM documentation and the software are copyrighted with all
  67.           rights reserved.  Under the copyright laws, neither the
  68.           documentation nor the software may be copied, photocopied,
  69.           reproduced, translated, or reduced to any electronic medium or
  70.           machine-readable form, in whole or in part, without the prior
  71.           written consent of Biologic, except in the manner described in
  72.           this manual.  The unregistered version of HRAM and accompanying
  73.           documentation may be freely copied and distributed.
  74.  
  75.           Copyright (C) Biologic 1990-1992
  76.  
  77.           All rights reserved.  First edition printed 1990.  Printed in the
  78.           United States.
  79.  
  80.           Software License Notice   
  81.  
  82.           Your license agreement with Biologic, which is included with the
  83.           product, specifies the permitted and prohibited uses of the
  84.           product.  Any unauthorized duplication or use of HRAM in whole or
  85.           in part, in print, or in any other storage and retrieval system
  86.           is forbidden.
  87.  
  88.           Licenses and Trademarks   
  89.  
  90.           386MAX is a registered trademark of Qualitas, Inc.  QEMM is a
  91.           registered trademark of Quarterdeck Office Systems, Inc.  MS-DOS
  92.           is a registered trademark of Microsoft Corporation.  HRAM is a
  93.           trademark of Biologic.
  94.  
  95.  
  96.           Biologic
  97.           POB 1267
  98.           Manassas VA 
  99.           22110
  100.           USA
  101.  
  102.           703-368-2949  
  103.           800-736-8088 (orders only)
  104.           703-361-8251 (fax)
  105.           70033,1324   (compuserve)
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.                                                                           3
  116.  
  117.  
  118.           CONTENTS
  119.  
  120.           License Agreement and Disclaimer of Warranty  
  121.           Introduction  
  122.           Notes on Memory and Memory Addresses  
  123.           Testing Your Memory with Chkmem  
  124.           Shadow Memory  
  125.           Notes for 8088 and 80286 PCs  
  126.           Notes for 80386 PCs  
  127.           Condensed Instructions  
  128.           hramdev.sys  
  129.           hram.exe  
  130.           hram.sys  
  131.           Your Turn  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.                                                                           4
  175.  
  176.  
  177.           LICENSE AGREEMENT AND DISCLAIMER OF WARRANTY
  178.  
  179.           License agreement   
  180.  
  181.           The terms of this license agreement apply to you and to any
  182.           subsequent licensee of this HRAM software.  Biologic retains the
  183.           ownership of this copy of HRAM software.  This copy is licensed
  184.           to you for use under the following conditions.
  185.  
  186.              You may use the HRAM software on any compatible computer,
  187.              provided the HRAM software is used on only one computer and by
  188.              one user at a time.
  189.  
  190.              You may not provide use of the software in a computer service
  191.              business, network, timesharing, multiple CPU or multiple user
  192.              arrangement to users who are not individually licensed by
  193.              Biologic, except that you may designate any employee to use
  194.              such products on a one employee per license basis.
  195.  
  196.              You may not disassemble or decompile the HRAM software.
  197.  
  198.           Disclaimer of warranty   
  199.  
  200.           Biologic excludes any and all implied warranties, including
  201.           warranties of merchantability and fitness for a particular
  202.           purpose.  Biologic does not make any warranty of representation,
  203.           either express or implied, with respect to this software program,
  204.           its quality, performance, merchantability, or fitness for a
  205.           particular purpose.  Biologic shall not have any liability for
  206.           special, incidental, or consequential damages arising out of or
  207.           resulting from the use of this program.
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.                                                                           5
  234.  
  235.  
  236.           INTRODUCTION
  237.  
  238.           Description   
  239.  
  240.           HRAM is a powerful memory management program for 8088, 8086,
  241.           80286, 80386 and 80486 PCs that enhances the utilization of upper
  242.           memory (memory between 640K and 1024K).  It works in conjunction
  243.           with DOS 5 to create up to 96K of extra conventional memory and
  244.           up to 224K of upper memory for use by device drivers (such as
  245.           network drivers) and memory resident programs (TSRs).  In
  246.           addition, it provides many of the necessary memory management
  247.           features DOS 5 left out: 
  248.  
  249.              HRAM creates upper memory on 8088, 80286, 80386, and 80486 PCs
  250.              (DOS 5 creates upper memory on 80386 and 80486 PCs only.) 
  251.  
  252.              HRAM utilizes the shadow RAM capability of many chip sets to
  253.              create upper memory (the file chipset.doc contains a complete
  254.              listing of supported chip sets).  This may eliminate the need
  255.              to use the DOS 5 program, emm386.exe (or any other 80386
  256.              expanded memory manager), resulting in a speed increase of 10
  257.              to 40 percent!
  258.  
  259.              On 80386 and 80486 PCs, HRAM provides more upper memory than
  260.              DOS 5 by thoroughly searching the area between 640K and 1024K
  261.              and converting ALL unused regions to upper memory--memory that
  262.              DOS 5 often overlooks. 
  263.  
  264.              HRAM gives you an extra 64K of upper memory for program
  265.              initialization by using expanded memory for loading drivers
  266.              and TSRs--this means you'll often load programs you couldn't
  267.              load before. 
  268.  
  269.              HRAM optimizes your upper memory by  automatically determining
  270.              which order and in which memory region your drivers and TSRs
  271.              should be loaded. This one step can easily double the
  272.              utilization of your upper memory. (DOS 5 suggests that you
  273.              "experiment with different combinations and orders of
  274.              programs".  When you consider that your upper memory may
  275.              consist of several separate regions and that you probably use
  276.              up to a dozen drivers and TSRs, this process, without HRAM,
  277.              could require rebooting your PC thousands of times!)
  278.  
  279.  
  280.           Overview   
  281.  
  282.           HRAM is a set of programs that consists of: 
  283.  
  284.              hramdev.sys, a device driver that manages upper memory and can
  285.  
  286.  
  287.                                                                           6
  288.  
  289.              fill unused upper memory areas with expanded memory or shadow
  290.              RAM.
  291.  
  292.              hram.exe, a program that works in conjunction with the DOS
  293.              LOADHIGH command to optimally load TSRs into the upper memory
  294.              created by hramdev.sys.  hram.exe also provides a status
  295.              report of upper memory and lists the programs that have been
  296.              loaded into it.
  297.  
  298.              hram.sys, a special driver that works in conjunction with the
  299.              DOS DEVICEHIGH command to optimally load device drivers into
  300.              upper memory.
  301.  
  302.           A utility program, Chkmem, is included in the package and
  303.           provides information about the status of memory in your PC.
  304.  
  305.           Requirements
  306.  
  307.              A PC with a 8088, 8086, 80286, 80386 or 80486 microprocessor.
  308.  
  309.              IBM Personal Computer Disk Operating System (PC-DOS) or
  310.              Microsoft Disk Operating System (MS-DOS) version 5.0 or
  311.              greater.
  312.  
  313.              On 8088 and 80286 PCs, expanded memory version 4 or shadow
  314.              RAM.
  315.  
  316.           Contents of the HRAM disk   
  317.  
  318.           The following files are included in the root directory of the
  319.           distribution disk.
  320.  
  321.              hramdev.sys
  322.              hram.exe
  323.              hram.sys
  324.              chkmem.exe
  325.              read.me
  326.  
  327.           There may also be a \freeware directory which contains
  328.           unregistered versions of our other software products.
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.                                                                           7
  347.  
  348.  
  349.           NOTES ON MEMORY 
  350.           AND MEMORY ADDRESSES
  351.  
  352.           Conventional Memory   
  353.  
  354.           Conventional memory is located between 0K and 1024K and is the
  355.           maximum amount of memory that can be addressed by the 8088
  356.           microprocessor on which the IBM PC is based.(1)  The designers
  357.           of the original PC divided conventional memory space into a 640K
  358.           block of memory to be used by MS-DOS programs and a 384K block of
  359.           upper memory for system hardware and ROM.  The term, conventional
  360.           memory, is sometimes used to refer just to memory from 0 to 640K.
  361.  
  362.           Upper Memory   
  363.  
  364.           Upper memory is located between 640K and 1024K was originally
  365.           intended to be reserved for system hardware and ROM.  Since the
  366.           amount of free conventional memory between 0K and 640K is
  367.           critical to the performance of your PC, DOS 5 utilizes upper
  368.           memory blocks (UMBs) and provides a way of moving device drivers
  369.           and TSRs out of conventional memory and into upper memory (with
  370.           the DEVICEHIGH and LOADHIGH commands).  DOS 5 will use upper
  371.           memory only if a program which provides UMBs (like hramdev.sys or
  372.           emm386.sys) has been loaded and "dos=umb" is in your config.sys
  373.           file.
  374.  
  375.           High Memory Area   
  376.  
  377.           The high memory area (HMA) is a 64K region starting at 1024K
  378.           (1M).  Usually, part of DOS is loaded into this area to free up
  379.           low DOS memory (if "dos=high" is in your config.sys file).  This
  380.           region is not upper memory, and DEVICEHIGH and LOADHIGH do not
  381.           load programs into it.
  382.  
  383.           Expanded Memory   
  384.  
  385.           Expanded memory is "paged" memory that can exist in 8088, 80286,
  386.           and 80386(2) based PCs.  As the memory requirements of programs
  387.           grew, expanded memory was developed to support up to 32M of
  388.           memory by swapping small blocks or "pages" of extra memory into
  389.           the 1M address space of the 8088 processor so that only a few
  390.           pages are addressable at a time.  Memory pages that are not in
  391.           use are stored as deactivated pages on an expanded memory board.
  392.  
  393.           The original expanded memory specification, EMS version 3.2, was
  394.           developed jointly by Lotus, Intel, and Microsoft.  Soon after,
  395.           AST and Ashton-Tate developed a similar, but enhanced,
  396.                               
  397.           ____________________
  398.  
  399.                (1) 1K equals 1,024 bytes. 1024K equals 1,048,576 bytes or 1
  400.           megabyte.
  401.  
  402.                (2) Throughout the remainder of this documentation anything
  403.           said about 80386 PCs applies equally to 80486 PCs.
  404.  
  405.  
  406.                                                                           8
  407.  
  408.           specification called EEMS.  These two specifications were
  409.           replaced by EMS version 4.0, which incorporated features of both
  410.           specifications.
  411.  
  412.           Below is a summary of a few important features:
  413.  
  414.              An expanded memory page is 16K in size.
  415.  
  416.              Expanded memory that conforms to the version 3.2 specification
  417.              can be mapped only into a 64K region in upper memory called
  418.              the page frame.  EMS version 4.0 supports the mapping of
  419.              expanded memory into any location in conventional memory.
  420.  
  421.              A software control program, called an expanded memory manager,
  422.              manages the placement of memory pages, and is typically loaded
  423.              by the config.sys file when your PC is turned on or restarted.
  424.  
  425.           Extended Memory   
  426.  
  427.           Intel's newer processors, starting with the 80286, are capable of
  428.           addressing memory above 1M--extended memory.  Unfortunately, this
  429.           memory is not addressable when these processors are in a
  430.           processor state called real mode (a mode designed to maintain
  431.           compatibility with the 8088) and cannot be fully utilized when
  432.           using a real mode operating system such as MS-DOS.  
  433.  
  434.           The problem of accessing extended memory while running MS-DOS has
  435.           spawned several solutions:  
  436.  
  437.              On PCs that support extended memory, a feature of the ROM BIOS
  438.              allows programs to copy data between conventional and extended
  439.              memory.  Although programs cannot execute in extended memory,
  440.              they can use it as storage space.  Programs that take
  441.              advantage of this feature include RAM disks, print spoolers,
  442.              and 80286 expanded memory simulators.  
  443.  
  444.              Protected mode run-time environments which allow an
  445.              application program to execute in protected mode under MS-DOS.
  446.  
  447.              80386 memory managers, like VRAM/386, that use the page
  448.              mapping capability of the 80386 processor to convert extended
  449.              memory into expanded memory and provide additional
  450.              conventional memory for use by MS-DOS.  
  451.  
  452.           Memory Addresses   
  453.  
  454.           Memory addresses and ranges are typically specified using
  455.           hexadecimal (hex) numbers.  Hex numbers include the digits 0-9
  456.           and the letters A-F, giving 16 possible values for each hex
  457.           digit. 
  458.  
  459.           Conventional memory can be divided into 64 pages of 16K each.
  460.           These pages can be referred to as page 0, page 1, page 2, and so
  461.           on, or, as is the case in this manual, by their hexadecimal
  462.           segment addresses.  Using this notation, page 0 is at segment 0,
  463.  
  464.  
  465.                                                                           9
  466.  
  467.           page 1 is at segment 0400, page 2 is at segment 0800, etc.  The
  468.           following table lists some page numbers and their corresponding
  469.           segment address and linear address:
  470.  
  471.                             Segment      Linear
  472.                Page         Address     Address
  473.                ________________________________
  474.  
  475.                   0         0000             0K
  476.                   1         0400            16K
  477.                   2         0800            32K
  478.                   3         0c00            48K
  479.                   4         1000            64K
  480.                   5         1400            80K
  481.                   8         2000           128K
  482.                  12         3000           196K
  483.                  40         a000           640K
  484.                  44         b000           704K
  485.                  63         fc00         1,008K
  486.  
  487.                   
  488.           The first 40 pages (640K) of conventional memory are used by MS-
  489.           DOS and the other 24 pages are reserved for system hardware and
  490.           ROM.  The exact usage of the upper 384K of conventional memory
  491.           depends on the hardware configuration of your machine; typically,
  492.           several blocks of this area are not used and are simply empty
  493.           space.
  494.  
  495.           The table below lists the memory map of a typical PC:
  496.  
  497.              Address
  498.              Range        Description                
  499.              ________________________________________
  500.  
  501.              0000-9fff    low DOS memory (640K)
  502.              a000-bfff    VGA display adapter (128K)
  503.              c000-c7ff    hard disk controller (32K)
  504.              c800-cfff    unused address space (32K)
  505.              d000-dfff    expanded memory page frame (64K)    
  506.              e000-efff    unused address space (64K)
  507.              f000-ffff    ROM
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                                                          10
  527.  
  528.  
  529.           TESTING YOUR MEMORY WITH CHKMEM
  530.  
  531.           The Chkmem program is a memory utility which displays the types
  532.           and amounts of memory in your PC.  With it, you can determine the
  533.           current status of the upper memory area.  Chkmem can also
  534.           identify the chip set in your computer.
  535.  
  536.           Enter the command [chkmem] (don't type the brackets) to display
  537.           the amount of upper memory that can be created on your PC. 
  538.           Example output is shown below:
  539.  
  540.           Biologic Chkmem, version 1.3
  541.           copyright (c) Biologic 1990-1992. all rights reserved.
  542.  
  543.               655360 bytes conventional memory
  544.                    0 bytes extended memory
  545.               351232 bytes available XMS memory
  546.               655360 bytes expanded memory
  547.  
  548.                    0 bytes upper memory
  549.                    0 bytes upper memory blocks (UMBs) can be converted to
  550.                          upper memory 
  551.                    0 bytes expanded memory can be converted to upper memory
  552.               163840 bytes unused areas or shadow ram can be converted to   
  553.                          upper memory
  554.               163840 bytes upper memory can be created
  555.  
  556.  
  557.              If the last line in the listing, "bytes upper memory can be
  558.              created", is not 0, then HRAM can create and/or manage upper
  559.              memory on your PC.
  560.  
  561.              8088 and 80286 PCs:  If the listing shows that the only
  562.              available source of upper memory is "unused areas or shadow
  563.              RAM", as in the example above, then your computer must have a
  564.              chip set that is supported by HRAM or you must add expanded
  565.              memory to your system.  The file, chipset.doc, contains a list
  566.              of chip sets that are supported and the section, "Shadow
  567.              memory", describes how to determine which chip set you have. 
  568.              Read the section, "Notes for 8088 and 80286 PCs" for more
  569.              information on installing expanded memory.
  570.  
  571.              8088 and 80286 PCs:  If your chip set is not supported by HRAM
  572.              and only 65536 bytes (64K) of expanded memory can be converted
  573.              to upper memory, your expanded memory may not be fully
  574.              compatible with the EMS version 4.0 specification or it may
  575.              need to be configured differently.  Read the section, "Notes
  576.              for 8088 and 80286 PCs" for more information on configuring
  577.              your expanded memory.
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.                                                                          11
  586.  
  587.  
  588.           SHADOW MEMORY
  589.  
  590.           Most PCs are designed so that a 384K segment of memory, located
  591.           between 640K and 1024K, is reserved for shadowing ROM.  When your
  592.           PC is started, the shadow memory at ROM locations is activated
  593.           and the ROM code is copied to it.  The remaining shadow memory is
  594.           not activated and is not used.
  595.  
  596.           HRAM locates these regions of unused shadow memory, activates
  597.           them, and converts them to upper memory.  This means:
  598.  
  599.                 HRAM can create upper memory on 80286 PCs.
  600.  
  601.                 HRAM can create upper memory on 80386 PCs without using
  602.                 emm386.exe or any other expanded memory manager.  This is
  603.                 an important advantage because 80386 memory managers (like
  604.                 emm386, 386MAX, and QEMM) must switch the 80386 chip to a
  605.                 mode which causes your PC to run slower than normal.  If
  606.                 you don't need expanded memory, you can use HRAM to create
  607.                 upper memory, and your PC will run at full speed.
  608.  
  609.           Determining your chip set   
  610.  
  611.           The amount of upper memory created from shadow memory, and how it
  612.           is activated, depends on which chip set is in your PC.  Since
  613.           HRAM cannot automatically determine which chip set you have, you
  614.           must determine this yourself and specify the chip set on the
  615.           hramdev.sys command line (using the /t<chip set number> option). 
  616.  
  617.  
  618.           There are several ways to determine your chip set:
  619.  
  620.                 Look for it on the setup screen or in the documentation for
  621.                 your PC.
  622.  
  623.                 Use the [chkmem /t] command.  The chkmem program will
  624.                 attempt to identify the chip set.  It is possible that
  625.                 chkmem will not be successful. This does not mean your
  626.                 shadow memory cannot be utilized--you just need to identify
  627.                 it another way.  (Your PC should be rebooted after using
  628.                 this command).
  629.  
  630.                 Ask the manufacturer of your PC.
  631.  
  632.                 Take off the cover and look.  The chip set will consist of
  633.                 one or more chips (large or small) identified by names
  634.                 and/or numbers.  Try to match the number(s) with those
  635.                 listed in the file 'chipset.doc'.
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.                                                                          12
  645.  
  646.  
  647.           NOTES FOR 8088 AND 80286 PCS
  648.  
  649.           1. HRAM can utilize the shadow RAM capability of many chip sets
  650.              to create upper memory blocks; expanded memory is not
  651.              required.  The file, chipset.doc, contains a list of chip sets
  652.              HRAM currently supports.
  653.  
  654.           2. HRAM can also convert expanded memory to upper memory,
  655.              provided your expanded memory is hardware compatible with EMS
  656.              version 4.0.  If the Chkmem program reported that only 65536
  657.              bytes of upper memory can be created from expanded memory,
  658.              then your expanded memory is either not hardware compatible
  659.              with EMS 4 or it needs to be reconfigured.  Consult the
  660.              documentation for the board or contact your computer dealer to
  661.              make this determination (note: many memory boards are software
  662.              compatible with EMS 4 but are not fully compatible on a
  663.              hardware level). 
  664.  
  665.           3. If your expanded memory is hardware compatible with EMS 4 and
  666.              Chkmem reports that only 65536 bytes of upper memory can be
  667.              created from expanded memory, then you need to reconfigure
  668.              your expanded memory by changing the line in your config.sys
  669.              file that loads the expanded memory manager for the board. 
  670.              Run the command [chkmem /c] to display a recommended command
  671.              line for your expanded memory manager.
  672.  
  673.           4. If your expanded memory is not hardware compatible with EMS 4,
  674.              you can still create upper memory by using the hramdev /f
  675.              option.  This option will give you 64K of upper memory, but
  676.              will make your expanded memory unavailable to other programs.
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.                                                                          13
  704.  
  705.  
  706.           NOTES FOR 80386 PCS
  707.  
  708.           1. HRAM can utilize the shadow RAM capability of many chip sets
  709.              to create upper memory blocks.  If you do not need to convert
  710.              extended memory to expanded memory, the expanded memory
  711.              manager, emm386.exe, is not required.  The file, chipset.doc,
  712.              contains a list of chip sets HRAM currently supports.
  713.  
  714.           2. If HRAM does not support the shadow RAM capability of your
  715.              chip set or if you need expanded memory, the program,
  716.              emm386.exe, should be loaded in your config.sys file.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.                                                                          14
  763.  
  764.  
  765.           CONDENSED INSTRUCTIONS
  766.  
  767.           Creating Upper Memory
  768.  
  769.           Processor:  80386, 80486
  770.           From:       shadow memory
  771.           When:       HRAM supports your chip set and you do not need expanded
  772.                       memory
  773.  
  774.           1. Add the line [dos=umb] to your config.sys file (its location
  775.              in your config.sys file is not important).  
  776.  
  777.           2. Add the line [device=hramdev.sys /t<chipset>] to your
  778.              config.sys file (<chipset> is the number identifying the chip
  779.              set in your computer).  This line should be located after the
  780.              line [device=himem.sys] and near the beginning before any
  781.              other [device=] lines.
  782.  
  783.           3. Reboot your PC and run the Chkmem program.  Chkmem should
  784.              report a non-zero value for "bytes upper memory".  Enter the
  785.              command [chkmem /h] to display the size and location of the
  786.              upper memory regions in your PC.
  787.  
  788.           Processor:  80386, 80486
  789.           From:       expanded memory manager (emm386.exe)
  790.           When:       HRAM does not support your chip set or you need expanded
  791.                       memory
  792.  
  793.           1. Add a [device=] line to your config.sys file which loads your
  794.              expanded memory manager.  An expanded memory manager is a
  795.              single file which, typically, has "EMM" in its name.  If this
  796.              line already exists in your config.sys file, you may need to
  797.              change the parameters so that your expanded memory is
  798.              configured correctly.  
  799.  
  800.              DOS 5 provides an expanded memory manager, emm386.exe, for use
  801.              on 386 PCs.  You should run the [chkmem /c] command to list
  802.              the recommended command line for emm386.exe, and add this line
  803.              to your config.sys file (or modify it if it already exists).
  804.              This line should be located immediately after the line
  805.              [device=himem.sys].
  806.  
  807.           2. Add the line [dos=umb] to your config.sys file (its location
  808.              in your config.sys file is not important).  
  809.  
  810.           3. Add the line [device=hramdev.sys] to your config.sys file. 
  811.              This line should be located after the line [device=emm386.exe]
  812.              and near the beginning before any other [device=] lines.
  813.  
  814.           4. Reboot your PC and run the Chkmem program.  Chkmem should
  815.              report a non-zero value for "bytes upper memory".  Enter the
  816.              command [chkmem /h] to display the size and location of the
  817.              upper memory regions in your PC.
  818.  
  819.  
  820.  
  821.                                                                          15
  822.  
  823.           Processor:  8088, 80286
  824.           From:       shadow memory
  825.           When:       HRAM supports your chip set
  826.  
  827.           1. Add the line [dos=umb] to your config.sys file (its location
  828.              in your config.sys file is not important).  
  829.  
  830.           2. Add the line [device=hramdev.sys /t<chipset>] to your
  831.              config.sys file (<chipset> is the number identifying the chip
  832.              set in your computer).  This line should be located after the
  833.              line [device=himem.sys] and near the beginning before any
  834.              other [device=] lines.
  835.  
  836.           3. Reboot your PC and run the Chkmem program.  Chkmem should
  837.              report a non-zero value for "bytes upper memory".  Enter the
  838.              command [chkmem /h] to display the size and location of the
  839.              upper memory regions in your PC.
  840.  
  841.           Processor:  8088, 80286
  842.           From:       expanded memory
  843.           When:       HRAM does not support your chip set and you have EMS 4
  844.                       expanded memory in your computer.
  845.  
  846.           1. Add a [device=] line to your config.sys file which loads your
  847.              expanded memory manager.  An expanded memory manager is a
  848.              single file which, typically, has "EMM" in its name.  If this
  849.              line already exists in your config.sys file, you may need to
  850.              change the parameters so that your expanded memory is
  851.              configured correctly.  
  852.  
  853.              Run the command [chkmem /c] to list a recommended command line
  854.              for the expanded memory manager that was provided with your
  855.              memory board.  You should add this line to your config.sys
  856.              file (or modify it if it already exists).  Since expanded
  857.              memory managers are different for every board, the syntax of
  858.              this command may differ slightly from what is displayed by
  859.              [chkmem /c].  You should consult the documentation for your
  860.              memory board for information on the exact syntax of this
  861.              command.
  862.  
  863.           2. Add the line [dos=umb] to your config.sys file (its location
  864.              in your config.sys file is not important).  
  865.  
  866.           3. Add the line [device=hramdev.sys /e] to your config.sys file. 
  867.              This line should be located after the line that loads your
  868.              expanded memory manager and near the beginning before any
  869.              other [device=] lines.
  870.  
  871.           4. Reboot your PC and run the Chkmem program.  Chkmem should
  872.              report a non-zero value for "bytes upper memory".  Enter the
  873.              command [chkmem /h] to display the size and location of the
  874.              upper memory regions in your PC.
  875.  
  876.  
  877.  
  878.  
  879.                                                                          16
  880.  
  881.           Optimizing upper memory
  882.  
  883.           Upper memory is utilized in two ways: (1) programs that recognize
  884.           this area will automatically take advantage of it, and (2) TSRs
  885.           and device drivers can be loaded into it with the DOS commands
  886.           DEVICEHIGH and LOADHIGH.  
  887.  
  888.           The process of loading programs high is complicated by the fact
  889.           that upper memory is a relatively small area, which may consist
  890.           of several regions of different sizes, and that, when loaded,
  891.           programs have an initialization size which may be much larger (or
  892.           smaller) than their resident size.  Loading programs in a
  893.           different order or into different memory regions can
  894.           significantly increase the number of programs you are able to
  895.           load high.  
  896.  
  897.           HRAM provides features which allow you to gain optimum use of
  898.           your upper memory: it automatically determines the resident size
  899.           and initialization size of each of your drivers and TSRs, it
  900.           calculates the best configuration for your upper memory, it
  901.           allows you to load a program into a specific region, and it
  902.           provides an extra 64K of memory for program initialization by
  903.           temporarily adding expanded memory to upper memory.
  904.  
  905.           Follow the steps below to optimize your memory:
  906.  
  907.           1. Add the /s option to the [device=hramdev.sys] line in your
  908.              config.sys file and add a new line as shown below:
  909.  
  910.              device=hramdev.sys /s
  911.              device=hram.sys on
  912.  
  913.           2. Reboot your PC.
  914.  
  915.           3. Type the command [hram /l] to list the analysis of your
  916.              drivers and TSRs.
  917.  
  918.           4. Type the command [hram /c] to list recommended commands for
  919.              loading your programs high and add these lines to your
  920.              config.sys and autoexec.bat files. 
  921.  
  922.           5. Remove the /s option from the [device=hramdev.sys] line in
  923.              your config.sys file and reboot your PC.
  924.  
  925.           6. Use the [hram /m] command to list the programs that have been
  926.              loaded into upper memory.
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.                                                                          17
  938.  
  939.  
  940.           HRAMDEV.SYS
  941.  
  942.           Command reference   
  943.  
  944.           The format of the hramdev.sys command is
  945.  
  946.           device=d:\path\hramdev.sys [options]
  947.  
  948.           [options]
  949.              specifies the optional hramdev.sys parameters described in the
  950.              following section.
  951.  
  952.           The following options can appear in the hramdev.sys command.  
  953.  
  954.           /e
  955.              Convert expanded memory to upper memory.  HRAM will fill
  956.              unused region between 640K and 1024K with expanded memory and
  957.              convert them to upper memory blocks.  Your expanded memory
  958.              must be hardware compatible with EMS 4 and be capable of being
  959.              mapped to these regions.  The command [chkmem /e] will display
  960.              a list of mappable memory segments (16K).  The page frame is
  961.              not used for upper memory (see /f option).
  962.  
  963.           /f
  964.              Use the expanded memory page frame for upper memory.  The page
  965.              frame is a 64K buffer in the upper memory area into which
  966.              expanded memory pages are mapped.  Although EMS version 4.0
  967.              supports mapping of expanded memory to areas outside the page
  968.              frame, most software programs, at a minimum, require the page
  969.              frame to be available.  This option will create an additional
  970.              64K of upper memory, but will, in most cases, prevent other
  971.              programs from utilizing expanded memory.
  972.  
  973.           /i<addressrange>
  974.              Include address range.  The memory range specified by
  975.              <addressrange> will be converted to upper memory.  It must be
  976.              above a000 (hex).  <addressrange> is specified with
  977.              hexadecimal segment addresses which must be multiples of 16K
  978.              (0000, 0400, 0800, 0c00, 1000, 1400, ...).  For example, to
  979.              include the range c000 to c800 use the parameter [/ic000-
  980.              c800].  Multiple include ranges should be separated by commas. 
  981.              For example, [/ic000-c800,e000-f000].
  982.  
  983.              If /i is used, only the memory areas with the include range(s)
  984.              will be available as upper memory.
  985.  
  986.              This option is useful only if there are mappable areas in
  987.              upper memory that should not be under the control of
  988.              hramdev.sys.  Normally, this option should not be used;
  989.              hramdev.sys will automatically convert all available memory
  990.              (excluding the page frame) into upper memory.  
  991.  
  992.           /k
  993.              Pause after loading (so you can read memory map screen).
  994.  
  995.  
  996.                                                                          18
  997.  
  998.           /n
  999.              No pause on error.  If hramdev.sys reports an error, it waits
  1000.              for you to press a key.  This option causes hramdev.sys to
  1001.              continue without waiting for a key.
  1002.  
  1003.           /p
  1004.              Do not use expanded memory for program initialization. 
  1005.              Normally, HRAM provides extra memory for use by programs
  1006.              during their initialization by temporarily adding 64K of
  1007.              expanded memory to upper memory. 
  1008.  
  1009.           /r
  1010.              Use previously activated RAM.  HRAM will convert any RAM it
  1011.              finds into upper memory (except a000-afffh and b000-b7ffh). 
  1012.              Use this option with caution since there may be RAM present in
  1013.              the upper memory area (such as a network card buffer) that
  1014.              should not be converted to upper memory.  
  1015.  
  1016.              This option might be useful if you have shadow memory and
  1017.              hramdev.sys fails to load after a warm boot.
  1018.  
  1019.           /s
  1020.              Get size of programs.  HRAM will calculate the resident size
  1021.              and initialization size of every driver and TSR that is loaded
  1022.              after it and write this information to the file
  1023.              "\hram0000.dat" for use by the [hram /l] command (The HRAM
  1024.              status must be "on"--see "Condensed Instructions").  Programs
  1025.              will not be loaded high when this option is used.
  1026.  
  1027.           /t<chipset number>
  1028.              Use shadow memory.  HRAM will convert shadow memory to upper
  1029.              memory.  Since HRAM cannot automatically determine which chip
  1030.              set you have, you must specify the chip number on the
  1031.              hramdev.sys command line (e.g. [hramdev.sys /t1] for the C&T
  1032.              NEAT Chip set).  See the section, "Shadow Memory", for
  1033.              instructions on how to determine which chip set you have.
  1034.  
  1035.           /x<addressrange>
  1036.              Exclude address range.  This option prevents hramdev.sys from
  1037.              using a particular range of addresses.  <addressrange> is
  1038.              specified with hexadecimal segment addresses which must be
  1039.              multiples of 16K.  For example, to exclude the range c000 to
  1040.              c800 use the parameter [/xc000-c800].  Multiple exclude ranges
  1041.              should be separated by commas.  For example, [/xc000-
  1042.              c800,e000-f000].
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.                                                                          19
  1056.  
  1057.  
  1058.           HRAM.EXE
  1059.  
  1060.           Displaying regions and programs in upper memory   
  1061.  
  1062.           The command, [hram /m], will display a status report of the upper
  1063.           memory created by hramdev.sys.  As illustrated in the following
  1064.           example, the report lists the location and size of each upper
  1065.           memory region as well as the TSRs and drivers that have been
  1066.           loaded:
  1067.  
  1068.           Biologic HRAM, version 1.3
  1069.           copyright (c) Biologic 1990-1992. all rights reserved.
  1070.  
  1071.           region  address                size
  1072.           ------  ---------  ----------------
  1073.           0       b002-b7fd    32704 ( 31.9k)
  1074.           1       c802-dfff    98272 ( 96.0k)
  1075.  
  1076.           region  address                size  program
  1077.           ------  ---------  ----------------  -------
  1078.           0       b003-b01b      400 (  0.4k)  (character device) setverxx
  1079.           0       b01d-b122     4192 (  4.1k)  (character device) con     
  1080.           0       b124-b67d    21920 ( 21.4k)  (character device) smartaar
  1081.           0       b684-b6e0     1488 (  1.5k)  c:\util\unblink.com
  1082.           0       b6e7-b7d9     3888 (  3.8k)  c:\util\calc.com
  1083.           0       b7db-b7fd      560 (  0.5k)  (avail)
  1084.           0                      128 (  0.1k)  other allocated blocks
  1085.           1       c803-cba0    14816 ( 14.5k)  (character device) ms$mouse
  1086.           1       cba7-cdcc     8800 (  8.6k)  c:\util\anarkey.com
  1087.           1       cdd3-cdfe      704 (  0.7k)  c:\util\fastkey.com
  1088.           1       ce05-ce27      560 (  0.5k)  c:\util\scrnsave.com
  1089.           1       ce29-dfff    73072 ( 71.4k)  (avail)
  1090.           1                      192 (  0.2k)  other allocated blocks
  1091.  
  1092.           expanded memory page frame located at: e000
  1093.           hram: off
  1094.  
  1095.  
  1096.           Note that each region is identified by a number, starting with 0,
  1097.           and that the report indicates into which region each TSR or
  1098.           device driver has been loaded.  The amount of available space
  1099.           remaining in each region is listed also.
  1100.  
  1101.           The command, [hram /a], will list the raw memory allocations in
  1102.           upper memory.
  1103.  
  1104.           Loading TSRs into upper memory   
  1105.  
  1106.           hram.exe, itself, does not load programs into upper memory, it
  1107.           works in conjunction with DOS to improve the function of the
  1108.           LOADHIGH command.  hram.exe provides a way to load a program into
  1109.           a specific memory region and provides an extra 64K for program
  1110.           initialization by temporarily converting expanded memory to upper
  1111.           memory.  To illustrate, suppose you wish to load a TSR program,
  1112.  
  1113.  
  1114.                                                                          20
  1115.  
  1116.           called Notepad, into upper memory.  The command you normally use
  1117.           to load it into low memory is:
  1118.  
  1119.           notepad /i
  1120.  
  1121.           The command to load it into upper memory, without using HRAM,
  1122.           would be:
  1123.  
  1124.           loadhigh notepad /i
  1125.  
  1126.           The commands to load the program into the second memory region in
  1127.           upper memory (regions are numbered starting with 0) and provide
  1128.           an additional 64K of memory would be:
  1129.  
  1130.           hram on /r1
  1131.           loadhigh notepad /i
  1132.           hram off
  1133.  
  1134.           Although the LOADHIGH command alone will load notepad into upper
  1135.           memory, it will load it into the first available upper memory
  1136.           region; the advantage to using HRAM is that it will force
  1137.           LOADHIGH to load it into a specific region.  This is an important
  1138.           feature, since in order to gain optimum use of upper memory, your
  1139.           programs should be loaded into the region recommended by HRAM
  1140.           (with the [hram /l] command).  In addition, suppose you have 100K
  1141.           of upper memory, but the notepad program requires 150K for
  1142.           initialization.  Without HRAM, there would not be enough upper
  1143.           memory and LOADHIGH would load it into low memory.  Since HRAM
  1144.           provides an additional 64K for initialization, the program would
  1145.           be successfully loaded high.
  1146.  
  1147.           The HRAM command can be executed at the DOS prompt or it can be
  1148.           used within a batch file (usually your autoexec.bat file).  When
  1149.           the HRAM command is executed without any parameters, [hram], it
  1150.           reports the current status of HRAM--on or off.
  1151.  
  1152.  
  1153.           Command reference   
  1154.  
  1155.           The format of the HRAM command is
  1156.  
  1157.           hram [on|off] [options] 
  1158.  
  1159.           [on|off]
  1160.              specifies whether HRAM should be "on" or "off".  When HRAM is
  1161.              on, programs can only be loaded into the memory region
  1162.              specified on the HRAM command line (with the /r option) and
  1163.              64K of expanded memory is temporarily converted to upper
  1164.              memory. 
  1165.  
  1166.           [options]
  1167.              specifies the optional HRAM parameters described in the
  1168.              following section.
  1169.  
  1170.           The following options can appear in the HRAM command. 
  1171.  
  1172.  
  1173.                                                                          21
  1174.  
  1175.           /?
  1176.              Display help.
  1177.  
  1178.           /7
  1179.              Increase low DOS memory size to 704K or 736K. If a upper
  1180.              memory region exists at the address a002h (use the command
  1181.              [hram /m] to display these regions), the command [hram /7]
  1182.              will add this region to the low dos memory pool and increase
  1183.              its size to 704K or 736K. The /7 option can only be used if no
  1184.              programs have been loaded into the region at a002h. Programs
  1185.              cannot be loaded high after this option has been used.
  1186.  
  1187.           /a
  1188.              List raw memory allocations in upper memory.  Use this option
  1189.              to display the memory control blocks that have been allocated
  1190.              from upper memory.
  1191.  
  1192.           /c
  1193.              List recommended config.sys and autoexec.bat files.  When the
  1194.              /s option is added to the hramdev.sys command and your PC is
  1195.              rebooted, information about the memory requirements of your
  1196.              drivers and TSRs is written to the file "\hram0000.dat".  The
  1197.              command [hram /c] analyzes this information and displays a
  1198.              list of recommended commands for your config.sys and
  1199.              autoexec.bat files.
  1200.  
  1201.           /i
  1202.              Display registration information.  This option causes hram.exe
  1203.              to list information about registering your copy of HRAM.  If
  1204.              you have not purchased a registered copy of HRAM, and you
  1205.              continue to use it after a reasonable testing period, you are
  1206.              required to register your copy.
  1207.  
  1208.           /l
  1209.              List analysis of programs.  When the /s option is added to the
  1210.              hramdev.sys command and your PC is rebooted, information about
  1211.              the memory requirements of your drivers and TSRs is written to
  1212.              the file "\hram0000.dat".  The command [hram /l] analyzes this
  1213.              information and displays the optimum load order and memory
  1214.              region for each program.
  1215.  
  1216.           /m
  1217.              List regions and programs in upper memory.  [hram /m] lists a
  1218.              status report of upper memory, including the size and location
  1219.              of each memory region and program or device driver.  Read the
  1220.              previous section, "Displaying regions and programs in upper
  1221.              memory", for more information.
  1222.  
  1223.           /n
  1224.              No pause on error.  If hram.exe reports an error, it waits for
  1225.              you to press a key.  This option causes hram.exe to continue
  1226.              without waiting for a key.
  1227.  
  1228.           /o<order>
  1229.              Set program load order.  This option is useful only if you
  1230.  
  1231.  
  1232.                                                                          22
  1233.  
  1234.              have a program which must be loaded before one or more other
  1235.              programs.  For example, to ensure that program1.exe is loaded
  1236.              before program2.exe and program3.exe, include these commands
  1237.              in your autoexec.bat file:
  1238.  
  1239.  
  1240.              hram on /o1
  1241.              program1
  1242.              hram on /o2
  1243.              program2
  1244.              program3
  1245.              hram on
  1246.  
  1247.              To ensure that program1.exe is loaded before program2.exe and
  1248.              that program2.exe is loaded before program3.exe, use these
  1249.              commands:
  1250.  
  1251.              hram on /o1
  1252.              program1
  1253.              hram on /o2
  1254.              program2
  1255.              hram on /o3
  1256.              program3
  1257.              hram on
  1258.  
  1259.              This option is valid only if the /s option is used on the
  1260.              hramdev.sys command line.  Otherwise, it is ignored.
  1261.  
  1262.           /p
  1263.              Do not temporarily convert 64K of expanded memory to upper
  1264.              memory for use during program initialization.
  1265.  
  1266.           /r<region>
  1267.              Load into memory region number <region>.  This option causes
  1268.              LOADHIGH to load one or more programs into the specified
  1269.              memory region.  For example, the following commands would load
  1270.              the programs, notepad.exe and calc.exe, into memory region 1
  1271.              (memory regions are numbered starting with 0): 
  1272.  
  1273.              hram on /r1
  1274.              loadhigh notepad
  1275.              loadhigh calc
  1276.              hram off
  1277.  
  1278.              Without this option, LOADHIGH loads programs into the first
  1279.              memory region in which they fit.
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.                                                                          23
  1292.  
  1293.           HRAM.SYS
  1294.  
  1295.           Like hram.exe, hram.sys does not load programs into upper memory,
  1296.           it works in conjunction with DOS to improve the function of the
  1297.           DEVICEHIGH command.  hram.sys provides a way to load a device
  1298.           driver into a specific memory region and provides an extra 64K
  1299.           for driver initialization by temporarily converting expanded
  1300.           memory to upper memory.  To illustrate, suppose you wish to load
  1301.           the device driver, ansi.sys, into upper memory.  The command you
  1302.           normally use to load it into low memory is:
  1303.  
  1304.           device=ansi.sys
  1305.  
  1306.           The command to load it into upper memory, without using HRAM,
  1307.           would be:
  1308.  
  1309.           devicehigh=ansi.sys
  1310.  
  1311.           The commands to load the program into the second memory region in
  1312.           upper memory (regions are numbered starting with 0) and provide
  1313.           an additional 64K of memory would be:
  1314.  
  1315.           device=hram.sys on /r1
  1316.           devicehigh=ansi.sys
  1317.           device=hram.sys off
  1318.  
  1319.  
  1320.           Command reference   
  1321.  
  1322.           The format of the hram.sys command is
  1323.  
  1324.           device=hram.sys [on|off] [options]
  1325.  
  1326.           [on|off]
  1327.              specifies whether HRAM should be "on" or "off".  When HRAM is
  1328.              on, programs can only be loaded into the memory region
  1329.              specified on the HRAM command line (with the /r option) and
  1330.              64K of expanded memory is temporarily converted to upper
  1331.              memory. 
  1332.  
  1333.           [options]
  1334.              specifies the optional HRAM parameters described in the
  1335.              following section.
  1336.  
  1337.           The following options can appear in the HRAM command. 
  1338.  
  1339.           /n
  1340.              No pause on error.  If hram.sys reports an error, it waits for
  1341.              you to press a key.  This option causes hram.sys to continue
  1342.              without waiting for a key.
  1343.  
  1344.           /o<order>
  1345.              Set program load order.  This option is useful only if you
  1346.              have a program which must be loaded before one or more other
  1347.              programs.  For example, to ensure that program1.sys is loaded
  1348.  
  1349.  
  1350.                                                                          24
  1351.  
  1352.              before program2.sys and program3.sys, include these commands
  1353.              in your config.sys file:
  1354.  
  1355.              device=hram.sys on /o1
  1356.              device=program1.sys
  1357.              device=hram.sys on /o2
  1358.              device=program2.sys
  1359.              device=program3.sys
  1360.              device=hram on
  1361.  
  1362.              This option is valid only if the /s option is used on the
  1363.              hramdev.sys command line.  Otherwise, it is ignored.
  1364.  
  1365.           /p
  1366.              Do not temporarily convert 64K of expanded memory to upper
  1367.              memory for use during program initialization.
  1368.  
  1369.           /r<region>
  1370.              Load into memory region number <region>.  This option causes
  1371.              DEVICEHIGH to load one or more programs into the specified
  1372.              memory region.  For example, the following commands would load
  1373.              the programs, notepad.sys and calc.sys, into memory region 1
  1374.              (memory regions are numbered starting with 0): 
  1375.  
  1376.              device=hram.sys on /r1
  1377.              devicehigh=notepad.sys
  1378.              devicehigh=calc.sys
  1379.              device=hram.sys off
  1380.  
  1381.              Without this option, DEVICEHIGH loads drivers into the first
  1382.              memory region in which they fit.
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.                                                                          25
  1410.  
  1411.  
  1412.           YOUR TURN
  1413.  
  1414.           We value you opinions.  Please let us know what you like and
  1415.           dislike about the HRAM program and user's guide.  We're dedicated
  1416.           to developing the most innovative and useful software available--
  1417.           and selling it at reasonable prices.  Your support helps make
  1418.           this possible.
  1419.  
  1420.           Please send all comments and suggestions to
  1421.  
  1422.           Biologic 
  1423.           POB 1267
  1424.           Manassas VA  
  1425.           22110
  1426.           USA
  1427.  
  1428.           THANK YOU.
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.